import { createApp } from 'vue'
// Icon
import 'virtual:svg-icons-register' // 引入注册脚本
// I18n
import vueI18n from '@/i18n/index'
import App from './App.vue'
// pinia
import piniaStore from "./store/index.ts";
// router
import router from './router'
//全局基础组件
import com from './components/index'
// element
import installElementPlus from './plugins/element'
// 导入全局样式
import '@/styles/index.scss'
// 导入鉴权
import '@/permission'
// 全局属性
import installFilter from '@/filters/index'
// 全局指令
import installDirective from '@/directives/index'

const app = createApp(App)
app.use(piniaStore)
app.use(router)
app.use(vueI18n)
app.use(com)
// element-plus
installElementPlus(app)
// 全局属性
installFilter(app)
// 全局指令
installDirective(app)
// 发布订阅
import $bus from '@/mitt/index'
// 挂载到全局
app.config.globalProperties.$bus = $bus
app.mount('#app')
